package com.wcs.exam.controller.admin.req;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.Getter;
import lombok.Setter;
import lombok.experimental.Accessors;

import java.io.Serial;
import java.io.Serializable;
import java.util.List;

/**
 * <p>
 * Admin-试题信息-随机抽题请求参数
 * </p>
 *
 * @author wcs
 * @since 2025-03-11
 */
@Getter
@Setter
@Accessors(chain = true)
@Schema(description = "Admin-试题信息-随机抽题请求参数")
public class AdminQuestionRandomSelectionReq implements Serializable {

    @Serial
    private static final long serialVersionUID = 1L;

    @Schema(description = "分类ID")
    private List<Long> categoryIds;

    @Schema(description = "排除的ID列表")
    private List<Long> excludeIds;

    @Schema(description = "抽取题数")
    private List<TypeCount> typeCounts;

    @Data
    @Schema(name = "AdminQuestionRandomSelectionReq.Option", description = "Admin-试题信息-随机抽题-题目数量-请求参数")
    public static class TypeCount implements Serializable {

        @Serial
        private static final long serialVersionUID = 5326971815807757155L;

        @Schema(description = "题目类型(1:单选题、2:多选题、3:判断题、4:填空题、5:简答题)")
        private Integer questionType;

        @Schema(description = "题目数量")
        private Long count;
    }
}
